When a computer program is to be executed, portions of the program may be executed sequentially. The sequential execution of the program may lead to processing capability of the computer being under-utilized. Under-utilization of the processing capability may be mitigated by executing some portions of the program in parallel with other portions. In order to execute a program in parallel, the execution should account for data dependencies in memory.